package com.wu.company.entity;

import javax.persistence.*;
import java.util.Date;

/**
 * POJO类Utiusergrade
 */
@Entity
@Table(name = "UTIUSERGRADE")
public class Utiusergrade implements java.io.Serializable {
	private static final long serialVersionUID = 1L;

	/** 属性ID */
	private UtiusergradeId id;

	/** 属性utigrade */
	private Utigrade utigrade;

	/** 属性PrpDuser--员工代码表 */
	private PrpDuser prpDuser;

	/** 属性失效日期 */
	private Date inValidDate;

	/** 属性效力状态 */
	private String validStatus;

	/** 属性备注 */
	private String remark;

	/** 属性标志 */
	private String flag;
	/**
	 * 类Utiusergrade的默认构造方法
	 */
	public Utiusergrade() {
	}

	/**
	 * 属性ID的getter方法
	 */
	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "comCode", column = @Column(name = "COMCODE")),
			@AttributeOverride(name = "userCode", column = @Column(name = "USERCODE")),
			@AttributeOverride(name = "gradeCode", column = @Column(name = "GRADECODE")) })
	public UtiusergradeId getId() {
		return this.id;
	}

	/**
	 * 属性ID的setter方法
	 */
	public void setId(UtiusergradeId id) {
		this.id = id;
	}

	/**
	 * 属性utigrade的getter方法
	 */
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "GRADECODE", nullable = false, insertable = false, updatable = false)
	public Utigrade getUtigrade() {
		return this.utigrade;
	}

	/**
	 * 属性utigrade的setter方法
	 */
	public void setUtigrade(Utigrade utigrade) {
		this.utigrade = utigrade;
	}

	/**
	 * 属性PrpDuser--员工代码表的getter方法
	 */
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "USERCODE", nullable = false, insertable = false, updatable = false)
	public PrpDuser getPrpDuser() {
		return this.prpDuser;
	}

	/**
	 * 属性PrpDuser--员工代码表的setter方法
	 */
	public void setPrpDuser(PrpDuser prpDuser) {
		this.prpDuser = prpDuser;
	}

	/**
	 * 属性失效日期的getter方法
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "INVALIDDATE")
	public Date getInValidDate() {
		return this.inValidDate;
	}

	/**
	 * 属性失效日期的setter方法
	 */
	public void setInValidDate(Date inValidDate) {
		this.inValidDate = inValidDate;
	}

	/**
	 * 属性效力状态的getter方法
	 */

	@Column(name = "VALIDSTATUS")
	public String getValidStatus() {
		return this.validStatus;
	}

	/**
	 * 属性效力状态的setter方法
	 */
	public void setValidStatus(String validStatus) {
		this.validStatus = validStatus;
	}

	/**
	 * 属性备注的getter方法
	 */

	@Column(name = "REMARK")
	public String getRemark() {
		return this.remark;
	}

	/**
	 * 属性备注的setter方法
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 属性标志的getter方法
	 */

	@Column(name = "FLAG")
	public String getFlag() {
		return this.flag;
	}

	/**
	 * 属性标志的setter方法
	 */
	public void setFlag(String flag) {
		this.flag = flag;
	}
	
}
